The present application relates generally to the configuration and operation of database management systems, and in particular to compression and backup of a database to a backup image.
Database management systems frequently include backup functions for producing backup images and/or file copies of databases or select datasets of a database. A primary use of backup images or copies is restoration of data to a previous or last known good state. For example, in the case of disaster recovery, recovering from application or user errors, and as a safeguard against hardware, software, or other failures in a computer system. The backup image or copy may be used to restore the data in the database to the state it was in at the time the backup image or copy was made. Backup images and copies may be made and retained for other purposes, such as compliance with legal or regulatory requirements concerning retention of data.
Typically, backup functions are executed on a periodic basis, such as daily, weekly, or monthly, according to the requirements of a disaster recovery or other policy governing operation of the database management system. In some cases, the policy may require creation of redundant backup images to be stored in different physical locations or on different media in the event one physical location or medium is compromised. In other cases, multiple backup images created at different times (e.g., the current week's backup, and the previous week's backup) are retained against the possibility that an error may occur in a given backup.
Whatever backup and retention policy is followed in managing a database, the generation of backup copies is resource intensive in that the backup image may consume a considerable amount of storage space; a backup image may be equal in size to the original database. Thus, a number of database management systems offer a compression function, which compresses the data for the backup image. While compression potentially reduces the final size of the backup image, the computation process also consumes extra processor time.